namespace TerritoryGame.Domain.ValueObjects;

/// <summary>
/// 玩家颜色值对象
/// </summary>
public record PlayerColor(string Value)
{
    public static PlayerColor None => new("#FFFFFF");
    public static PlayerColor Red => new("#FF6B6B");
    public static PlayerColor Blue => new("#4ECDC4");
    public static PlayerColor Green => new("#45B7D1");
    public static PlayerColor Yellow => new("#FFEAA7");
    public static PlayerColor Purple => new("#DDA0DD");
    public static PlayerColor Orange => new("#F7DC6F");
    
    public static implicit operator string(PlayerColor color) => color.Value;
    
    public override string ToString()
    {
        return Value;
    }
}
